-
Notifications
You must be signed in to change notification settings - Fork 93
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: add support for embedded cluster updates #4201
feat: add support for embedded cluster updates #4201
Conversation
d7c0bb4
to
76f1c5a
Compare
9ec8de6
to
2a48633
Compare
we now support embedded cluster upgrades together with the kots app upgrade. users can provide their own embedded cluster config object that is then applied to the cluster when it differs from the current active one.
2a48633
to
319508e
Compare
if err != nil { | ||
return false, err | ||
} | ||
return !bytes.Equal(serializedCur, serializedNew), nil |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
would this allow a downgrade of the k8s cluster since it's just an equality comparison?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it would allow applying a spec that requested that, but k0s will refuse
What this PR does / why we need it:
We now support Embedded Cluster upgrades as part of a with the KOTS application upgrade. Users are able to provide their own Embedded Cluster Config object that is then applied to the cluster when it differs from the current active configuration.
Special notes for your reviewer:
Most of the work here has been leveraged in collaboration with Craig, I believe he has enough context on everything here. All that has been implemented here is supposed to be a no-op when running on top of another type of cluster (for instance, kURL). If you can pay special attention to this detail during the review that would be great.
Does this PR introduce a user-facing change?
Does this PR require documentation?
Most likely we need to document the new "Cluster State" that is presented on the main screen: